package com.xbongbong.paas.constant;

import static com.xbongbong.paas.enums.ConditionEnum.ALLINCLUDE;
import static com.xbongbong.paas.enums.ConditionEnum.DYNAMIC;
import static com.xbongbong.paas.enums.ConditionEnum.EMPTY;
import static com.xbongbong.paas.enums.ConditionEnum.EQUAL;
import static com.xbongbong.paas.enums.ConditionEnum.GREATEREQUAL;
import static com.xbongbong.paas.enums.ConditionEnum.GREATERTHAN;
import static com.xbongbong.paas.enums.ConditionEnum.IN;
import static com.xbongbong.paas.enums.ConditionEnum.INCLUDE;
import static com.xbongbong.paas.enums.ConditionEnum.LESSEQUAL;
import static com.xbongbong.paas.enums.ConditionEnum.LESSTHAN;
import static com.xbongbong.paas.enums.ConditionEnum.LIKE;
import static com.xbongbong.paas.enums.ConditionEnum.NOEMPTY;
import static com.xbongbong.paas.enums.ConditionEnum.NOEQUAL;
import static com.xbongbong.paas.enums.ConditionEnum.NOIN;
import static com.xbongbong.paas.enums.ConditionEnum.NOLIKE;
import static com.xbongbong.paas.enums.ConditionEnum.RANGE;

/**
 * @author 李翔
 * @date 2023/3/1
 * @description
 */
public class ShareConditionConstant {

    /**
     * 文本规则：等于，不等于，为空，不为空；
     */
    public static final String[] TEXT = {EQUAL.getSymbol(), NOEQUAL.getSymbol(), EMPTY.getSymbol(), NOEMPTY.getSymbol()};
    /**
     * 多行文本：为空，不为空；
     */
    public static final String[] TEXTAREA = {EMPTY.getSymbol(), NOEMPTY.getSymbol()};
    /**
     * 数字：等于、不等于、大于等于、大于、小于等于、小于、选择范围、为空、不为空
     */
    public static final String[] NUM = {EQUAL.getSymbol(), NOEQUAL.getSymbol(), GREATEREQUAL.getSymbol(), GREATERTHAN.getSymbol(),
            LESSEQUAL.getSymbol(), LESSTHAN.getSymbol(), RANGE.getSymbol(), EMPTY.getSymbol(), NOEMPTY.getSymbol()};
    /**
     * 时间：等于，不等于，大于等于，小于等于，不为空，为空，选择范围，动态值；
     */
    public static final String[] DATETIME = {EQUAL.getSymbol(), NOEQUAL.getSymbol(), GREATEREQUAL.getSymbol(), LESSEQUAL.getSymbol(), RANGE.getSymbol(), NOEMPTY.getSymbol(), EMPTY.getSymbol(), DYNAMIC.getSymbol()};
    /**
     * 单选按钮：等于，不等于，包含，不包含，等于任意一个，不等于任意一个，为空，不为空；
     */
    public static final String[] RADIO_GROUP = {EQUAL.getSymbol(), NOEQUAL.getSymbol(), LIKE.getSymbol(), NOLIKE.getSymbol(), IN.getSymbol(), NOIN.getSymbol(), EMPTY.getSymbol(), NOEMPTY.getSymbol()};
    /**
     * 复选框规则：等于，包含任意一个，同时包含，为空，不为空；
     */
    public static final String[] CHECKBOX_GROUP = {EQUAL.getSymbol(), INCLUDE.getSymbol(), ALLINCLUDE.getSymbol(), EMPTY.getSymbol(), NOEMPTY.getSymbol()};
    /**
     * 下拉框：等于，不等于，等于任意一个，不等于任意一个，为空，不为空；
     */
    public static final String[] COMBO = {EQUAL.getSymbol(), NOEQUAL.getSymbol(), IN.getSymbol(), NOIN.getSymbol(), EMPTY.getSymbol(), NOEMPTY.getSymbol()};
    /**
     * 下拉复选框：等于，包含任意一个，同时包含，为空，不为空；
     */
    public static final String[] COMBO_CHECK = {EQUAL.getSymbol(), INCLUDE.getSymbol(), ALLINCLUDE.getSymbol(), EMPTY.getSymbol(), NOEMPTY.getSymbol()};
    /**
     * 地址规则/定位：属于，不属于，为空，不为空
     */
    /**
     * BELONG.getSymbol(), NOBELONG.getSymbol(),
     */
    public static final String[] ADDRESS = {EQUAL.getSymbol()/**,NOEQUAL.getSymbol(),LIKE.getSymbol(),NOLIKE.getSymbol()*/, EMPTY.getSymbol(), NOEMPTY.getSymbol()};
    /**
     * 等于 ,包含任意一个,同时包含,为空,不为空
     */
    public static final String[] LABEL = {EQUAL.getSymbol(), INCLUDE.getSymbol(), ALLINCLUDE.getSymbol(), EMPTY.getSymbol(), NOEMPTY.getSymbol()};
    //子表单 依据子表单内的字段type
    /**
     * 关联数据 条件：等于，不等于
     */
    public static final String[] LINK_DATA = {EQUAL.getSymbol(), NOEQUAL.getSymbol()};
    /**
     * 关联数据多选 条件：等于，包含任意一个，同时包含，为空，不为空
     */
    public static final String[] LINK_DATA_MULTI = {INCLUDE.getSymbol(), ALLINCLUDE.getSymbol(), EQUAL.getSymbol(), EMPTY.getSymbol(), NOEMPTY.getSymbol()};
    /**
     * 成员单选：等于，不等于，等于任意一个，不等于任意一个，为空，不为空
     */
    public static final String[] USER = {EQUAL.getSymbol(), NOEQUAL.getSymbol(), IN.getSymbol(), NOIN.getSymbol(), EMPTY.getSymbol(), NOEMPTY.getSymbol()};
    /**
     * 成员多选：等于，包含任意一个，同时包含，为空，不为空；
     */
    public static final String[] USER_GROUP = {EQUAL.getSymbol(), INCLUDE.getSymbol(), ALLINCLUDE.getSymbol(), EMPTY.getSymbol(), NOEMPTY.getSymbol()};
    /**
     * 部门单选：等于，不等于，等于任意一个，不等于任意一个，为空，不为空
     */
    public static final String[] DEPT = {EQUAL.getSymbol(), NOEQUAL.getSymbol(), IN.getSymbol(), NOIN.getSymbol(), EMPTY.getSymbol(), NOEMPTY.getSymbol()};
    /**
     * 部门多选：等于，包含任意一个，同时包含，为空，不为空；
     */
    public static final String[] DEPT_GROUP = {INCLUDE.getSymbol(), ALLINCLUDE.getSymbol(), EQUAL.getSymbol(), EMPTY.getSymbol(), NOEMPTY.getSymbol()};
    /**
     * 阶段推进器规则：等于，不等于，等于任意一个，不等于任意一个，为空，不为空；
     */
    public static final String[] STAGE_THRUSTER = {EQUAL.getSymbol(), NOEQUAL.getSymbol(), IN.getSymbol(), NOIN.getSymbol(), EMPTY.getSymbol(), NOEMPTY.getSymbol()};
    /**
     * 创建人：等于，不等于，等于任意一个，不等于任意一个，为空，不为空
     */
    public static final String[] CREATORID = {EQUAL.getSymbol(), NOEQUAL.getSymbol(), IN.getSymbol(), NOIN.getSymbol(), EMPTY.getSymbol(), NOEMPTY.getSymbol()};
    /**
     * 创建时间：大于等于，小于等于，选择范围，动态值
     */
    public static final String[] ADDTIME = {GREATEREQUAL.getSymbol(), LESSEQUAL.getSymbol(), RANGE.getSymbol(), DYNAMIC.getSymbol()};
    /**
     * 更新时间：大于等于，小于等于，选择范围，动态值
     */
    public static final String[] UPDATETIME = {GREATEREQUAL.getSymbol(), LESSEQUAL.getSymbol(), RANGE.getSymbol(), DYNAMIC.getSymbol()};
    /**
     * 所属部门：等于，不等于，等于任意一个，不等于任意一个，为空，不为空
     */
    public static final String[] DEPARTMENTID = {EQUAL.getSymbol(), NOEQUAL.getSymbol(), IN.getSymbol(), NOIN.getSymbol(), EMPTY.getSymbol(), NOEMPTY.getSymbol()};
    /**
     * ALLINCLUDE 类型删除多hasChild查询影响效率
     * 拥有者：包含任意一个，等于；
     */
    public static final String[] OWNERID = {INCLUDE.getSymbol(), EQUAL.getSymbol()};
    /**
     * ALLINCLUDE 类型删除多hasChild查询影响效率
     * 协同人：包含任意一个，等于；
     */
    public static final String[] COUSERID = {INCLUDE.getSymbol(), EQUAL.getSymbol()};
    /**
     * 流水号：等于，不等于，为空，不为空；
     */
    public static final String[] SERIALNO = {EQUAL.getSymbol(), NOEQUAL.getSymbol(), EMPTY.getSymbol(), NOEMPTY.getSymbol()};
    /**
     * 关联业务单择：等于，不等于 （同关联数据单选） 如：上级客户
     */
    public static final String[] LINK_BUSINESS_SINGLE = {EQUAL.getSymbol(), NOEQUAL.getSymbol()};
    /**
     * 关联业务多择：等于，包含任意一个，同时包含，为空，不为空 （同关联数据多选） 如关联销售线索
     */
    public static final String[] LINK_BUSINESS_MULTI = {INCLUDE.getSymbol(), ALLINCLUDE.getSymbol(), EQUAL.getSymbol(), EMPTY.getSymbol(), NOEMPTY.getSymbol()};
    /**
     * 阶段比例：大于等于，等于，小于等于，不为空，为空，选择范围，不等于，大于，小于；
     */
    public static final String[] STAGE_RATIO = {GREATEREQUAL.getSymbol(), LESSEQUAL.getSymbol(), EMPTY.getSymbol(), NOEMPTY.getSymbol(),
            GREATERTHAN.getSymbol(), LESSTHAN.getSymbol(), EQUAL.getSymbol(), NOEQUAL.getSymbol(), RANGE.getSymbol()};
    /**
     * 生日：等于；(暂不支持)
     */
//    public static final String[] BIRTHDAY = {EQUAL.getSymbol()};
}
